home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / avr32 / mach-at32ap / include / mach / board.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  3.5 KB  |  128 lines

  1. /*
  2.  * Platform data definitions.
  3.  */
  4. #ifndef __ASM_ARCH_BOARD_H
  5. #define __ASM_ARCH_BOARD_H
  6.  
  7. #include <linux/types.h>
  8.  
  9. #define GPIO_PIN_NONE    (-1)
  10.  
  11. /*
  12.  * Clock rates for various on-board oscillators. The number of entries
  13.  * in this array is chip-dependent.
  14.  */
  15. extern unsigned long at32_board_osc_rates[];
  16.   
  17. /*
  18.  * This used to add essential system devices, but this is now done
  19.  * automatically. Please don't use it in new board code.
  20.  */
  21. static inline void __deprecated at32_add_system_devices(void)
  22. {
  23.  
  24. }
  25.  
  26. #define ATMEL_MAX_UART    4
  27. extern struct platform_device *atmel_default_console_device;
  28.  
  29. struct atmel_uart_data {
  30.     short        use_dma_tx;    /* use transmit DMA? */
  31.     short        use_dma_rx;    /* use receive DMA? */
  32.     void __iomem    *regs;        /* virtual base address, if any */
  33. };
  34. void at32_map_usart(unsigned int hw_id, unsigned int line);
  35. struct platform_device *at32_add_device_usart(unsigned int id);
  36.  
  37. struct eth_platform_data {
  38.     u32    phy_mask;
  39.     u8    is_rmii;
  40. };
  41. struct platform_device *
  42. at32_add_device_eth(unsigned int id, struct eth_platform_data *data);
  43.  
  44. struct spi_board_info;
  45. struct platform_device *
  46. at32_add_device_spi(unsigned int id, struct spi_board_info *b, unsigned int n);
  47.  
  48. struct atmel_lcdfb_info;
  49. struct platform_device *
  50. at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
  51.              unsigned long fbmem_start, unsigned long fbmem_len,
  52.              u64 pin_mask);
  53.  
  54. struct usba_platform_data;
  55. struct platform_device *
  56. at32_add_device_usba(unsigned int id, struct usba_platform_data *data);
  57.  
  58. struct ide_platform_data {
  59.     u8      cs;
  60. };
  61. struct platform_device *
  62. at32_add_device_ide(unsigned int id, unsigned int extint,
  63.             struct ide_platform_data *data);
  64.  
  65. /* mask says which PWM channels to mux */
  66. struct platform_device *at32_add_device_pwm(u32 mask);
  67.  
  68. /* depending on what's hooked up, not all SSC pins will be used */
  69. #define    ATMEL_SSC_TK        0x01
  70. #define    ATMEL_SSC_TF        0x02
  71. #define    ATMEL_SSC_TD        0x04
  72. #define    ATMEL_SSC_TX        (ATMEL_SSC_TK | ATMEL_SSC_TF | ATMEL_SSC_TD)
  73.  
  74. #define    ATMEL_SSC_RK        0x10
  75. #define    ATMEL_SSC_RF        0x20
  76. #define    ATMEL_SSC_RD        0x40
  77. #define    ATMEL_SSC_RX        (ATMEL_SSC_RK | ATMEL_SSC_RF | ATMEL_SSC_RD)
  78.  
  79. struct platform_device *
  80. at32_add_device_ssc(unsigned int id, unsigned int flags);
  81.  
  82. struct i2c_board_info;
  83. struct platform_device *at32_add_device_twi(unsigned int id,
  84.                         struct i2c_board_info *b,
  85.                         unsigned int n);
  86.  
  87. struct mci_platform_data;
  88. struct platform_device *
  89. at32_add_device_mci(unsigned int id, struct mci_platform_data *data);
  90.  
  91. struct ac97c_platform_data {
  92.     unsigned short dma_rx_periph_id;
  93.     unsigned short dma_tx_periph_id;
  94.     unsigned short dma_controller_id;
  95.     int reset_pin;
  96. };
  97. struct platform_device *
  98. at32_add_device_ac97c(unsigned int id, struct ac97c_platform_data *data);
  99.  
  100. struct platform_device *at32_add_device_abdac(unsigned int id);
  101. struct platform_device *at32_add_device_psif(unsigned int id);
  102.  
  103. struct cf_platform_data {
  104.     int    detect_pin;
  105.     int    reset_pin;
  106.     int    vcc_pin;
  107.     int    ready_pin;
  108.     u8    cs;
  109. };
  110. struct platform_device *
  111. at32_add_device_cf(unsigned int id, unsigned int extint,
  112.         struct cf_platform_data *data);
  113.  
  114. /* NAND / SmartMedia */
  115. struct atmel_nand_data {
  116.     int    enable_pin;    /* chip enable */
  117.     int    det_pin;    /* card detect */
  118.     int    rdy_pin;    /* ready/busy */
  119.     u8    ale;        /* address line number connected to ALE */
  120.     u8    cle;        /* address line number connected to CLE */
  121.     u8    bus_width_16;    /* buswidth is 16 bit */
  122.     struct mtd_partition *(*partition_info)(int size, int *num_partitions);
  123. };
  124. struct platform_device *
  125. at32_add_device_nand(unsigned int id, struct atmel_nand_data *data);
  126.  
  127. #endif /* __ASM_ARCH_BOARD_H */
  128.